package br.edu.bdd.machado.controller;

import java.util.Date;
import java.util.List;

import org.hibernate.SessionFactory;

import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
import br.com.caelum.vraptor.util.extjs.ExtJSJson;
import br.com.caelum.vraptor.view.Results;
import br.edu.bdd.machado.dao.AutorDAO;
import br.edu.bdd.machado.entity.*;

@Resource
public class AutorController {
	
	private Result result;
	private AutorDAO autordao;
	public AutorController(AutorDAO autordao, Result result)
	{
		this.autordao= autordao;
		this.result = result;
	}
	
	@Post
	@Path("/salvar/autor")
	public void salvar(Autor autor)
	{	
		
		autordao.Salvar(autor);
		
	}
	
	@Path("/autor/listar/dados.json")
	public void listar()
	{
		
		
		result.use(ExtJSJson.class).from(autordao.Listar()).serialize();
		
		
	}
	
	@Path("autor/listar/{textodepesquisa}/dados.json")
	public void listarPesquisa(String textodepesquisa)
	{
		result.use(ExtJSJson.class).from(autordao.PesquisaAutor(textodepesquisa)).serialize();
	}
	
	@Path("/autor/apagar/{id}")
		public void Apagar(int id)
	{
		
		autordao.Apagar(autordao.carregaAutor(id));
	}

}
